home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '90 / Utilities ƒ / MPW Tools ƒ / Simula4.07 / Simula 4.07ƒ / SInterfaces / macTextEdit.sim < prev    next >
Encoding:
Text File  |  1989-05-01  |  5.2 KB  |  188 lines  |  [TEXT/MPS ]

  1. % ---------------------------------------------------------------------------
  2. %    Class MACTextEdit
  3. %
  4. % In this module you find the programmers interface to TextEdit
  5. % It is built on top of the TOOLBOX routines in TOOLBOXTextEdit.
  6. % For a description of the routines see Inside Macintosh, chapter 12.
  7. %
  8. % 890317/Boris Magnusson
  9. % 890412/Göran Eriksson
  10. %
  11. % ---------------------------------------------------------------------------
  12. % ________________________________________________________
  13. %    TERec = RECORD
  14. %                destRect: Rect; {Destination rectangle}
  15. %                viewRect: Rect; {view rectangle}
  16. %                selRect: Rect; {Select rectangle}
  17. %                lineHeight: INTEGER; {Current font lineheight}
  18. %                fontAscent: INTEGER; {Current font ascent}
  19. %                selPoint: Point; {Selection point(mouseLoc)}
  20. %
  21. %                selStart: INTEGER; {Selection start}
  22. %                selEnd: INTEGER; {Selection end}
  23. %
  24. %                active: INTEGER; {<>0 if active}
  25. %
  26. %                wordBreak: ProcPtr; {Word break routine}
  27. %                clikLoop: ProcPtr; {Click loop routine}
  28. %
  29. %                clickTime: LONGINT; {Time of first click}
  30. %                clickLoc: INTEGER; {Char. location of click}
  31. %
  32. %                caretTime: LONGINT; {Time for next caret blink}
  33. %                caretState: INTEGER; {On/active booleans}
  34. %
  35. %                just: INTEGER; {fill style}
  36. %
  37. %                teLength: INTEGER; {Length of text below}
  38. %                hText: Handle; {Handle to actual text}
  39. %
  40. %                recalBack: INTEGER; {<>0 if recal in background}
  41. %                recalLines: INTEGER; {Line being recal'ed}
  42. %                clikStuff: INTEGER; {click stuff (internal)}
  43. %
  44. %                crOnly: INTEGER; {Set to -1 if CR line breaks only}
  45. %
  46. %                txFont: INTEGER; {Text Font}
  47. %                txFace: Style; {Text Face}
  48. %                txMode: INTEGER; {Text Mode}
  49. %                txSize: INTEGER; {Text Size}
  50. %
  51. %                inPort: GrafPtr; {Grafport}
  52. %
  53. %                highHook: ProcPtr; {Highlighting hook}
  54. %                caretHook: ProcPtr; {Highlighting hook}
  55. %
  56. %                nLines: INTEGER; {Number of lines}
  57. %                lineStarts: ARRAY [0..16000] OF INTEGER; {Actual line starts
  58. %                                                themselves}
  59. %            END; {RECORD}
  60. %    TEPtr = ^TERec;
  61. %    TEHandle = ^TEPtr;
  62. % __________________________________________________________________________
  63.  
  64. external class MACRect="::SInterfaces:MACRect";
  65. external class MACPoint="::SInterfaces:MACPoint";
  66. external class ToolboxTextEdit="::SInterfaces:ToolboxTextEdit";
  67.  
  68. ToolboxTextEdit class MACTextEdit;
  69. begin
  70.     integer TextHandle;
  71.  
  72. %    PROCEDURE TEActivate(h: TEHandle);
  73.     PROCEDURE TEActivate;
  74.         ToolboxTEActivate(Texthandle);
  75.  
  76. %    PROCEDURE TECalText(h: TEHandle);
  77.     PROCEDURE TECalText;
  78.         ToolboxTECalText(TextHandle);
  79.  
  80. %    PROCEDURE TEClick(pt: Point; extend: BOOLEAN; h: TEHandle);
  81.     PROCEDURE TEClick(pt, extend);
  82.             ref(MACPoint) pt;
  83.             boolean extend;
  84.             ToolboxTEClick(pt.h, Pt.v, extend, TextHandle);
  85.  
  86. %    PROCEDURE TECopy(h: TEHandle);
  87.     PROCEDURE TECopy;
  88.         ToolboxTECopy(TextHandle);
  89.  
  90. %    PROCEDURE TECut(h: TEHandle);
  91.     PROCEDURE TECut;
  92.             ToolboxTECut(TextHandle);
  93.  
  94. %    PROCEDURE TEDeActivate(h: TEHandle);
  95.     PROCEDURE TEDeActivate;
  96.             ToolboxTEDeActivate(TextHandle);
  97.  
  98. %    PROCEDURE TEDelete(h: TEHandle);
  99.     PROCEDURE TEDelete;
  100.             ToolboxTEDelete(TextHandle);
  101.  
  102. %    PROCEDURE TEDispose(h: TEHandle);
  103.     PROCEDURE TEDispose;
  104.             ToolboxTEDispose(TextHandle);
  105.  
  106. %    PROCEDURE TEIdle(h: TEHandle);
  107.     PROCEDURE TEIdle;
  108.             ToolboxTEIdle(TextHandle);
  109.  
  110. %    PROCEDURE TEKey(key: CHAR; h: TEHandle);
  111.     PROCEDURE TEKey(key);
  112.             character key;
  113.             ToolboxTEKey(key, TextHandle);
  114.  
  115. %    FUNCTION TENew(dest, view: Rect): TEHandle;
  116.     procedure TENew(dest, view);
  117.         ref(MACRect) dest, view;
  118.         TextHandle:=ToolboxTENew(dest.top, view.top);
  119.  
  120. %    PROCEDURE TEPaste(h: TEHandle);
  121.     PROCEDURE TEPaste;
  122.             ToolboxTEPaste(TextHandle);
  123.  
  124. %    PROCEDURE TEScroll(dh, dv: INTEGER; h: TEHandle);
  125.     PROCEDURE TEScroll(dh, dv);
  126.             short integer dh, dv;
  127.             ToolboxTEScroll(dh, dv, TextHandle);
  128.  
  129. %    PROCEDURE TESetSelect(selStart, selEnd: LONGINT; h: TEHandle);
  130.     PROCEDURE TESetSelect(selStart, selEnd);
  131.             integer selStart, selEnd;
  132.             ToolboxTESetSelect(selStart, selEnd, TextHandle);
  133.  
  134. %    PROCEDURE TESetText(inText: Ptr; textLength: LONGINT; h: TEHandle);
  135.     PROCEDURE TESetText(inText, textLength);
  136.             text inText;
  137.             integer textLength;
  138.             ToolboxTESetText(inText, textLength, TextHandle);
  139.  
  140. %    PROCEDURE TEInsert(inText: Ptr; textLength: LONGINT; h: TEHandle);
  141.     PROCEDURE TEInsert(inText, textLength);
  142.             text inText;
  143.             integer textLength;            
  144.             ToolboxTEInsert(inText, textLength, TextHandle);
  145.  
  146. %    PROCEDURE TEUpdate(rUpdate: Rect; h: TEHandle);
  147.     PROCEDURE TEUpdate(rUpdate);
  148.             ref(MACRect) rUpdate;
  149.             ToolboxTEUpdate(rUpdate.top, TextHandle);
  150.  
  151. %    PROCEDURE TESetJust(just: INTEGER; h: TEHandl);
  152.     PROCEDURE TESetJust(just);
  153.             short integer just;
  154.             ToolboxTESetJust(just, TextHandle);
  155.  
  156. %    FUNCTION TEGetText(h: TEHandle): CharsHandle;
  157.     text procedure TEGetText;
  158.     begin
  159.         short integer Length;
  160.         text SimText;
  161.         integer CharArray;
  162.         Length:=TELength(TextHandle);
  163.         SimText:-blanks(Length);
  164.         CharArray:=ToolboxTEGetText(TextHandle);
  165.         TextCopy(CharArray,Simtext,Length);
  166.         TEGetText:-SimText;
  167.     end;
  168.  
  169.  
  170. %    {new 128K ROM}
  171.  
  172. %    PROCEDURE TESelView(hTE: TEHandle);
  173.     PROCEDURE TESelView;
  174.             ToolboxTESelView(TextHandle);
  175.  
  176. %    PROCEDURE TEPinScroll(dh, dv: INTEGER; hTE: TEHandle);
  177.     PROCEDURE TEPinScroll(dh, dv);
  178.             short integer dh, dv;
  179.             ToolboxTEPinScroll(dh, dv, TextHandle);
  180.  
  181. %    PROCEDURE TEAutoView(auto: BOOLEAN; hTE: TEHandle);
  182.     PROCEDURE TEAutoView(auto);
  183.             boolean auto;
  184.             ToolboxTEAutoView(auto, TextHandle);
  185.  
  186.  
  187.         
  188. end;